package com.mezz.bones.framework.elasticsearch.demo.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@ApiModel(description = "Demo 文档搜索条件")
public class DemoSearchRequest {
    @ApiModelProperty(value = "ES中不存在的字段", example = "exampleValue")
    private String notExistsField;

    @ApiModelProperty(value = "创建者，仅当非空时进行匹配", example = "John Doe")
    private String creator;

    @ApiModelProperty(value = "用于匹配 filedData 字段的值", example = "someData")
    private String filedData;

    @ApiModelProperty(value = "自定义字段名映射为 ES 中的 'wu-laa'", example = "customValue")
    private String ula;

    @ApiModelProperty(value = "创建时间，格式为 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis'", example = "2025-01-01 12:00:00")
    private String gmtCreate;

    @ApiModelProperty(value = "内容字段，支持分词搜索", example = "搜索内容")
    private String content;

    @ApiModelProperty(value = "大小写不敏感的关键词匹配", example = "KeywordTest")
    private String caseTest;

    @ApiModelProperty(value = "稠密向量，数组长度必须为3", example = "[1.0, 2.0, 3.0]")
    private double[] vector;

    @ApiModelProperty(value = "复合字段，支持多种分词器的匹配", example = "复合内容")
    private String multiField;
}


